stat(31) fails to report any key mapped to an accentuated character (ex: on AZERTY keyboard, 2 is mapped to key "é").
It prevents support for diverse keyboard layouts.
Suggest to have a raw keyboard stat value to report key number.
How to reproduce:
- register custom menu entry
- run game with an endless while/flip loop
bug: menu item code is never triggered
It is not possible to present actual keys being used by pico in game.
Pico8 keyconfig can be used to remap keys.
Proposal:
keyconfig id [player] returns the character being used for button id and player (default 0) |
How to reproduce:
- launch cart
- set custom screen palette:
pal({140,1,139,3,4,132,133,7,6,134,5,8,2,9,10},1) |
- load data:
reload(0,0,0x4300,"cart2.p8") |
- while data gets processed, hit "pause"
- bug: screen palette gets reset
Can be reproduced on POOM on the loading screen (https://freds72.itch.io/poom)
Using -export command to automate multi cart package building and blocked by a number of bugs:
- unable to specify HTML plate path (only works if export is actually performed from home folder)
- inconsistent path parameters between bin and html exports:
# works for html pico8.exe carts\cart_0.p8 -home . -export "game_alpha.html -p my_plate cart_1.p8 cart_2.p8" # doesn't work for bin pico8.exe carts\cart_0.p8 -home . -export "game_alpha.bin cart_1.p8 cart_2.p8" # works for bin cd carts pico8.exe cart_0.p8 -export "game_alpha.bin cart_1.p8 cart_2.p8" |
- incomplete js generated unless export is run from carts folder
# produces broken js pico8.exe carts\cart_0.p8 -home . -export "game_alpha.html -p my_plate cart_1.p8 cart_2.p8" |
Thick line drawing routine (as a reply to @JadeLombax Twitter).
Manual:
linefill x0 y0 x1 y1 r [col] draw a 2*r pixel wide line note: r must be >= 0.5 to produce meaningful results note: the code uses sub-pixel precision rasterization, allowing smooth movement |
Example:
-- 4 pixel wide white line linefill(45,34,67,96,2,7) |
introduced in 0.2.0d
how to reproduce:
- call tline with a start point outside of screen boundaries
- tline starts at 0 without adjusting lookup coordinates
repro cart:
How to reproduce:
- switch to spritesheet
- select pen tool
- draw
- middle-mouse click to pan
- draw does nothing outside the initial zone
How to reproduce:
-- outputs zero local b=band(nil,4) -- throws error (arithmetic on field ?) local b=nil<<4 |
How to reproduce:
- cart with 3 includes
#include includes/bold.lua #include includes/bigscore.lua ... some other code ... #include includes/tquad.lua |
- reports invalid 'printb' not found (included in bold.lua)
- info produces random output:
- ctrl-r clears the error and runs the cart ok
how to reproduce:
for i=1,n do i<<5 end |
Output:
or
Repro cart:
Multicart is really a nice expansion feature, to offer content beyond the 32K boundary.
However, with reload not supporting BBS-hosted carts, large games are banned from BBS.
Is that something considered in the pico roadmap to bring back multicart games to the "official" forums?
Note that supporting more than a couple of data carts will require rework of the BBS file management.
- support for upload many files at once
- support for listing cart identifiers
- support for headless export of p8.png (limited to html/bin at time of writing)
- ability to assign same id pattern to many carts (ex: vracing_0... vracing_10)
Cheers
As per documentation, reload does not support BBS carts.
However, the function fails without any error while trying:
-- does nothing (or not??) reload(0,0,0x4300,"#vracing_5") |
Could the function reports an error in such case?
On Chrome: Version 79.0.3945.88 (64 bits)
How to reproduce:
- navigate to any game
- click on "code" dropdown
- page becomes unresponsive (cannot be selected, game cannot be launched...)
Not reproduced on Edge (and apparently on Firefox - cannot test)
Winter is coming (as every year actually...), time for some skiing!
Enjoy going down the slope, trying to beat your previous track record or freeriding skills!
Grab coins for some extra time bonus - watch out for off track hazards!
Your polar jacket can sustain a couple of direct hits, avoid trees anyway...
Note: there is no end racing line - you will loose :] question is how much time will you last?
Controls
- Left/Right: control direction
- c: jump (hold to charge)
- x: restart (if stuck)
- follow GPS pointer if lost
Tracks
- blue: easy
- red: moderate, with side tracks. Practice your tricks.
- black: heavy slope, with side tracks. Tricks or time out :)
About the PICO-8 Advent Calendar
This winter another group of PICO-8 elves has worked hard to release a shiny new toy every day in December. Check out the Pico-8 Advent Calendar 2019 each day for a new surprise!
There's even more festive fun waiting on last year's calendar! https://www.lexaloffle.com/bbs/?tid=32388
Happy Holidays!
Devlog
Before I joined the ranks of the Advent Calendar 2019, @johanp, @p01 and others were toying with terrain generation - resulting in this:
With the theme being set to winter, I had this prototype ready to test the idea:
The gameplay evolved from some endless runner to something more akin a time attack game.
Thanks to feedback from early testers, and several gameplay changes, I think I have something that is fun to play and challenging enough!
Source code (+unminified version): https://github.com/freds72/midwinter
Update 1.3
- updated: high level gameplay :]
- know bug: minor visual artifacts on black track (due to the way I cull terrain)
Credits
A little experiment with filled ellipse, supporting any rotation angle (the tricky part!).
The code is moderately fast as it finds the root of the ellipse equation to get the segment extent for each row.
Car headlight example use:
@zep
A couple of devs are investing into multicart games (like 5 or more data carts).
We are all put back by the artificial loading times (eg minutes)
Would it be possible for the fat client to either ignore load time throttling, or only activat throttling for the published version?
I want the multicart multiverse, not loading screens ;)
Using the cough undocumented cough stat(102) from a game hosted on itch.io, I got back:
v6p9d9t4.ssl.hwcdn.net |
This is indeed the url of the iframe (which doesn't help).
A more correct behavior would be to report the parent page url, with the benefits of:
- having a predictable outcome
- actually preventing rogue hosting (somehow...)
Note: Looking at the HTML, I see that url is retrieved from:
var str = window.location.hostname; |
Using that alternate code would fix the bug:
var str = (parent !== window) ? document.referrer : document.location; |
Ce post est la version française de: PICO-8 Giveaway
Initié par @Liquidream, plusieurs developpeurs offrent des licences pico8 à des jeunes (et moins jeunes) qui n'auraient pas les moyens mais pleins d'idées!
Participation
Pour avoir une chance de gagner, repondez à la discussion officielle avec un petit message:
- pourquoi vous voulez une licence?
- quel jeu(x) comptez-vous créer?
Les Règles
- Ouvert à tous (sauf ceux qui peuvent se payer une licence ET un sandwich!)
- Une seule entrée par personne
- Date de cloture (ouch!) Samedi 6 Juillet @ 11:00 (heure Paris)
- Les gagnants seront choisis au hasard
- Il y aura autant de gagnants que de licences offertes
- La licence sera attribuées via un compte mail (message privé)
Bonne chance 😁🤞
Ghost Rally
Game
The game is a race-against-yourself rally game. It features accurate rigid body physics and car handling.
Goal is to beat yourself every lap!
Enjoy racing as in the 80's, whith over powered cars very close to the public!
tip hitting any of the lil' dudes:
[0x0] | |
warning the game is complete yet the car handling is really picky - I am releasing it as is, as I can't tweak the gameplay without breaking the physic engine :/
Controls
- left/right: turn
- up/down: accelerate/brake
- c: recover (when flipping over!)
Dev Log
Source code & tools: ghost-rally
Credits:
Sound effect code: taken from @tiagosr rally game
Trifill: @p01
Physic Engine
Physic engine was started from scratch following Barraf's 'classic' paper.
I quickly dropped this version as it relied too much on numeric convergence !
The current version uses part of Randy Gaul C++ physic library and underlying principles.
The key aspect to get stable collision is to resolve impacts only for the incident face, e.g. the plane most facing the ground:
This is obviously an heavily simplified version, limited to dynamic-to-static resolution.
Randy's engine architecture relies on very few magic constants and is extremely stable (well, as long as pico numbers don't get in the way!!).
The physic engine is designed as an extension a generic 3d actor class and can easily be taken out for other games.
Car Physic
The car is modeled using a front and rear tire. Each tire has lateral and longitudinal forces, as detailed in this article: The Racing Line - Combined Tyre Forces.
Other good readings:
Car Physics for Games
Box2d Top Down Racing Game
The gif above shows forces applied to the car and their application point:
- G force (down)
- read tyre pushing car (with a lateral component to counter slide)
- front tyre and turning forces (again with a lateral component)
Slip angle and slip ratio curves are defined using SFX 4 and 5 - tweak them to see effect in game!
Terrain
The game started as a terrain renderer using marching squares.
Terrain height map is 64x64, displayed as a 128x128 grid to display marching square "diamond tiles":
Textured Car
The car is textured mapped, using a custom version of @p01 trifill.
The Blender model directly references an export of the cart spritesheet.
Toolchain
The game uses my usual Blender/Python export toolchain.
A custom terrain editor is available as a pico-8 cart (contact me if needed)
View Older Posts